package com.yy.service;

import java.util.List;
import com.yy.domain.OaComplaints;
import com.yy.dto.ComplaintsDTO;

/**
 * 投诉工单Service接口
 * 
 * @author yy
 * @date 2023-11-03
 */
public interface IOaComplaintsService 
{
    /**
     * 查询投诉工单
     * 
     * @param id 投诉工单主键
     * @return 投诉工单
     */
    public OaComplaints selectOaComplaintsById(Long id);

    /**
     * 查询投诉工单列表
     * 
     * @param oaComplaints 投诉工单
     * @return 投诉工单集合
     */
    public List<OaComplaints> selectOaComplaintsList(OaComplaints oaComplaints);

    /**
     * 新增投诉工单
     * 
     * @param oaComplaints 投诉工单
     * @return 结果
     */
    public int insertOaComplaints(OaComplaints oaComplaints);

    /**
     * 受理工单
     *
     * @param complaintsDTO
     * @return
     */
    int applyComplaints(ComplaintsDTO complaintsDTO);

    /**
     * 处理投诉
     *
     * @param complaintsDTO
     * @return
     */
    int handleComplaints(ComplaintsDTO complaintsDTO);

    /**
     * 客户评价投诉工单
     *
     * @param complaintsDTO
     * @return
     */
    int doComplaintsScore(ComplaintsDTO complaintsDTO);

    /**
     * 提交物业回访
     *
     * @param complaintsDTO
     * @return
     */
    int doComplaintsVisit(ComplaintsDTO complaintsDTO);

    /**
     * 撤销工单
     *
     * @param id
     * @return
     */
    int doCancel(Long id);
}
